e6c818a8acee5b3ec5d49769d1b7abb25ec07b21,xwiki-core/src/main/java/com/xpn/xwiki/web/XWikiPortlet.java,XWikiPortlet,initializeContainerComponent,#XWikiContext#,411

Before Change


        PortletContainerFactory containerFactory =
            (PortletContainerFactory) Utils.getComponent(PortletContainerFactory.ROLE, context);
        try {
            container.setRequest(containerFactory.createRequest(
                ((XWikiPortletRequest) context.getRequest()).getPortletRequest()));
            container.setResponse(containerFactory.createResponse(
                ((XWikiPortletResponse) context.getResponse()).getPortletResponse()));
            container.setSession(containerFactory.createSession(
                ((XWikiPortletRequest) context.getRequest()).getPortletRequest()));
        } catch (PortletContainerException e) {
            throw new PortletException("Failed to initialize request/response or session", e);
        }            

After Change


        // Note that this is a bridge between the old core and the component architecture.
        // In the new component architecture we use ThreadLocal to transport the request, 
        // response and session to components which require them.
        PortletContainerInitializer containerInitializer =
            (PortletContainerInitializer) Utils.getComponent(PortletContainerInitializer.ROLE,
                context);
        try {
            containerInitializer.initializeRequest(
                ((XWikiPortletRequest) context.getRequest()).getPortletRequest());
            containerInitializer.initializeResponse(
                ((XWikiPortletResponse) context.getResponse()).getPortletResponse());
            containerInitializer.initializeSession(
                ((XWikiPortletRequest) context.getRequest()).getPortletRequest());
        } catch (PortletContainerException e) {
            throw new PortletException("Failed to initialize request/response or session", e);
        }